import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import  axios from "axios"//导入Axios库 不然用不成


//设置默认请求路径
axios.defaults.baseURL="http://localhost:8081"

//路由守卫 to:路由目标路径  from：路由从哪来的 next：下一步去哪
router.beforeEach((to, from, next)=>{
    //q请求路径
    var path = to.path;
    //如果路径为登录路径，放行
    if(path==='/login'){
      return next();
    }else{
        //获得请求头中的token
      var item = sessionStorage.getItem("token");
      //如果token有值，放行
      if(item){
        return next()
          //没有跳转回登录页面
      }else{
        alert("请登录")
        return next("/login");
      }
        return next("/login");

    }
})

//设置请求拦截器
axios.interceptors.request.use(config=>{
    //获取token中的字符串
    var token = sessionStorage.getItem("token");
    //如果token中有值，则在请求头中加入该字符串，且命名为token
    if(token){
        config.headers.token = token;
    }
    //返回处理过后的请求
    return config;
})

//设置响应拦截器：用于判定返回的token的正确与否
axios.interceptors.response.use(resp=>{
    let data = resp.data;
    //如果后台返回的是500或501 则判定为非法，返回登陆界面；
    if(data.code == 500 || data.code==501){
        router.push("/login");
    }
    return resp;

})

Vue.config.productionTip = false

Vue.prototype.$ajax=axios // 注册axios

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
